﻿namespace AnyOffice.Model
{
    using System;

    public class AttendOutData
    {
        protected int _allow;
        protected DateTime _createDate = DateTime.Now;
        protected string _leaderId = string.Empty;
        protected int _outId = -1;
        protected DateTime _outTime1 = DateTime.Now;
        protected DateTime _outTime2;
        protected object _outType;
        protected object _reason;
        protected int _status;
        protected DateTime _submitTime = DateTime.Now;
        protected string _userId = string.Empty;

        public int Allow
        {
            get
            {
                return this._allow;
            }
            set
            {
                this._allow = value;
            }
        }

        public DateTime CreateDate
        {
            get
            {
                return this._createDate;
            }
            set
            {
                this._createDate = value;
            }
        }

        public string LeaderId
        {
            get
            {
                return this._leaderId;
            }
            set
            {
                this._leaderId = value;
            }
        }

        public int OutId
        {
            get
            {
                return this._outId;
            }
            set
            {
                this._outId = value;
            }
        }

        public DateTime OutTime1
        {
            get
            {
                return this._outTime1;
            }
            set
            {
                this._outTime1 = value;
            }
        }

        public DateTime OutTime2
        {
            get
            {
                return this._outTime2;
            }
            set
            {
                this._outTime2 = value;
            }
        }

        public string OutType
        {
            get
            {
                return (string) this._outType;
            }
            set
            {
                this._outType = value;
            }
        }

        public bool OutTypeIsNull
        {
            get
            {
                return (this._outType == null);
            }
            set
            {
                if (value)
                {
                    this._outType = null;
                }
            }
        }

        public string Reason
        {
            get
            {
                return (string) this._reason;
            }
            set
            {
                this._reason = value;
            }
        }

        public bool ReasonIsNull
        {
            get
            {
                return (this._reason == null);
            }
            set
            {
                if (value)
                {
                    this._reason = null;
                }
            }
        }

        public int Status
        {
            get
            {
                return this._status;
            }
            set
            {
                this._status = value;
            }
        }

        public DateTime SubmitTime
        {
            get
            {
                return this._submitTime;
            }
            set
            {
                this._submitTime = value;
            }
        }

        public string UserId
        {
            get
            {
                return this._userId;
            }
            set
            {
                this._userId = value;
            }
        }
    }
}

